Picture Transfer Protocol
   HOME

TheInfoList



OR:

Picture Transfer Protocol (PTP) is a protocol developed by the
International Imaging Industry Association The International Imaging Industry Association (I3A) was created by a merger of the Photographic and Imaging Manufacturers Association (PIMA) and the Digital Imaging Group in 2001. It was a common forum for the industrial imaging industry. It us ...
to allow the transfer of images from
digital camera A digital camera is a camera that captures photographs in digital memory. Most cameras produced today are digital, largely replacing those that capture images on photographic film. Digital cameras are now widely incorporated into mobile devices ...
s to computers and other peripheral devices without the need of additional
device driver In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and o ...
s. The protocol has been standardized as ISO 15740. It is further standardized for USB by the USB Implementers Forum as the ''still image capture device class''. USB is the default network transport media for PTP devices. USB PTP is a common alternative to the USB mass-storage device class (USB MSC), as a digital camera connection protocol. Some cameras support both modes.


Description

PTP specifies a way of creating, transferring and manipulating ''objects'' which are typically photographic images such as a
JPEG JPEG ( ) is a commonly used method of lossy compression for digital images, particularly for those images produced by digital photography. The degree of compression can be adjusted, allowing a selectable tradeoff between storage size and imag ...
file. While it is common to think of the objects that PTP handle as files, they are abstract entities identified solely by a 32-bit object ID. These objects can however have ''parents'' and ''siblings'' so that a file-system–like view of device contents can be created.


History

Until the standardization of PTP, digital camera vendors used different proprietary protocols for controlling digital cameras and transferring images to computers and other host devices. The term "Picture Transfer Protocol" and the acronym "PTP" were both coined by Steve Mann, summarizing work on the creation of a Linux-friendly way of transferring pictures to and from home-made wearable computers, at a time when most cameras required the use of Microsoft Windows or Mac OS device drivers to transfer their pictures to a computer. PTP was originally standardized as PIMA 15470 in 2000, while it was developed by the IT10 committee. Key contributors to the standard included Tim Looney and Tim Whitcher (Eastman Kodak Company) and Eran Steinberg (Fotonation).


Storage

PTP does not specify a way for objects to be stored – it is a communication protocol. Nor does it specify a transport layer. However, it is designed to support existing standards, such as
Exif Exchangeable image file format (officially Exif, according to JEIDA/JEITA/CIPA specifications) is a standard that specifies formats for images, sound, and ancillary tags used by digital cameras (including smartphones), scanners and other syste ...
, TIFF/EP, DCF, and
DPOF DPOF (Digital Print Order Format) is a format which allows the user of a digital camera or other device such as a mobile phone or PDA to define which captured images on the storage card are to be printed, together with information on the number of ...
, and is commonly implemented over the USB and
FireWire IEEE 1394 is an interface standard for a serial bus for high-speed communications and isochronous real-time data transfer. It was developed in the late 1980s and early 1990s by Apple in cooperation with a number of companies, primarily Sony an ...
transport layers. Images on digital cameras are generally stored as files on a
mass storage device In computing, mass storage refers to the storage of large amounts of data in a persisting and machine-readable fashion. In general, the term is used as large in relation to contemporaneous hard disk drives, but it has been used large in relati ...
, such as a
memory card A memory card is an electronic data storage device used for storing digital information, typically using flash memory. These are commonly used in digital portable electronic devices. They allow adding memory to such devices using a card in a so ...
, which is formatted with a file system, most commonly
FAT12 File Allocation Table (FAT) is a file system developed for personal computers. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. It is often supported for compatibility reasons by ...
, FAT16 or
FAT32 File Allocation Table (FAT) is a file system developed for personal computers. Originally developed in 1977 for use on floppy disks, it was adapted for use on hard disks and other devices. It is often supported for compatibility reasons b ...
, which may be laid out as per the
Design rule for Camera File system Design rule for Camera File system (DCF) is a JEITA specification (number CP-3461) which defines a file system for digital cameras, including the directory structure, file naming method, character set, file format, and metadata format. It is cu ...
(DCF) specification. But none of these are required as PTP abstracts from the underlying representation. By contrast, if a camera is mounted via USB MSC, the physical file system and layout are exposed to the user.


Device control

Many modern digital cameras from Canon and Nikon can be controlled via PTP from a USB host enabled computing device (Smartphone, PC or
Arduino Arduino () is an open-source hardware and software company, project, and user community that designs and manufactures single-board microcontrollers and microcontroller kits for building digital devices. Its hardware products are licensed under ...
for example). As is the norm for PTP, the communication takes place over a USB connection. When interacting with the camera in this manner, it is expected that the USB endpoints are in (synchronous) Bulk Transfer Mode, for getting/setting virtually all the camera's features/properties (such as ISO, Aperture, Shutter speed and focus). Events raised by the camera, in response to specific actions performed by the host device, are sent back to the host via the USB asynchronous Interrupt endpoint. In addition to changing the camera's settings and operating mode, it is possible to receive a through-the-lens view using "Live View". As described above, the storage objects of the camera's memory cards can be manipulated too. By controlling a camera in this way it is possible to augment its capabilities. For example, if the controlling software was running on a Smartphone with GPS functionality, it would be possible to add the GPS coordinates to an image's
Exif Exchangeable image file format (officially Exif, according to JEIDA/JEITA/CIPA specifications) is a standard that specifies formats for images, sound, and ancillary tags used by digital cameras (including smartphones), scanners and other syste ...
data, at the time of image capture - even if the camera itself had no GPS functionality.


Extensions

A number of protocols have been developed that extend PTP. PTP/IP, developed by
FotoNation Xperi Holding Corporation (formerly Tessera Holding Corporation) is an American technology company that licenses technology and intellectual property in areas such as mobile computing, communications, memory and data storage, and three-dimensio ...
and first implemented in a round of
Wi-Fi Wi-Fi () is a family of wireless network protocols, based on the IEEE 802.11 family of standards, which are commonly used for local area networking of devices and Internet access, allowing nearby digital devices to exchange data by radio waves ...
digital cameras by
Nikon (, ; ), also known just as Nikon, is a Japanese multinational corporation headquartered in Tokyo, Japan, specializing in optics and imaging products. The companies held by Nikon form the Nikon Group. Nikon's products include cameras, camera ...
,
Canon Canon or Canons may refer to: Arts and entertainment * Canon (fiction), the conceptual material accepted as official in a fictional universe by its fan base * Literary canon, an accepted body of works considered as high culture ** Western ca ...
, and
Eastman Kodak The Eastman Kodak Company (referred to simply as Kodak ) is an American public company that produces various products related to its historic basis in analogue photography. The company is headquartered in Rochester, New York, and is incorpor ...
, allows data transfer over any IP-based network.
Media Transfer Protocol The Media Transfer Protocol (MTP) is an extension to the Picture Transfer Protocol (PTP) communications protocol that allows media files to be transferred automatically to and from portable devices. Whereas PTP was designed for downloading pho ...
(MTP), developed by
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
, allows for transfer over wireless or wired networks based in part on FotoNation's PTP/IP, but also allows users to transfer other media aside from pictures, as well as for tagging objects with extended
metadata Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including: * Descriptive metadata – the descriptive ...
(such as title, artist and similar).


Operating system support

Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
has supported PTP from
Windows ME Windows Millennium Edition, or Windows Me (marketed with the pronunciation of the pronoun "me"), is an operating system developed by Microsoft as part of its Windows 9x family of Microsoft Windows operating systems. It is the successor to Windo ...
onwards (excluding
Windows CE Windows Embedded Compact, formerly Windows Embedded CE, Windows Powered and Windows CE, is an operating system subfamily developed by Microsoft as part of its Windows Embedded family of products. Unlike Windows Embedded Standard, which is base ...
).
Microsoft Microsoft Corporation is an American multinational technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washi ...
implements PTP on Windows through Windows Image Acquisition. A disadvantage of PTP on Windows as compared to USB mass storage is that Windows does not assign drive letters to PTP devices, so image files on them cannot be manipulated by scripts or standard Windows programs, only by Windows Explorer or applications with specially written PTP support. Also, Windows Explorer does not display file modification timestamps (though these are available via the file Properties popup). PTP on
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, whi ...
and other free and
open-source Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized so ...
operating systems is supported by a number of libraries, such as libgphoto an
libptp
used by applications such as digiKam and
F-Spot F-Spot is a slowly maintained image organizer, designed to provide personal photo management for the GNOME desktop environment. The name is a play on the word F-Stop. History The F-Spot project was started by Ettore Perazzoli and is maintained ...
. As on Microsoft Windows there is no native support on Linux, but by means of GVfs the devices can easily be mounted and made available to applications that use standard
POSIX The Portable Operating System Interface (POSIX) is a family of standards specified by the IEEE Computer Society for maintaining compatibility between operating systems. POSIX defines both the system- and user-level application programming in ...
commands and library functions. Android has PTP support, although as with MTP, a limitation is that when transferring photos from one's computer to the Android device, file timestamps are replaced with the time of the copy (with copies in the other direction, from device to computer, timestamps are preserved). The
Poseidon Poseidon (; grc-gre, Ποσειδῶν) was one of the Twelve Olympians in ancient Greek religion and myth, god of the sea, storms, earthquakes and horses.Burkert 1985pp. 136–139 In pre-Olympian Bronze Age Greece, he was venerated as ...
USB stack on
Amiga Amiga is a family of personal computers introduced by Commodore International, Commodore in 1985. The original model is one of a number of mid-1980s computers with 16- or 32-bit processors, 256 KB or more of RAM, mouse-based GUIs, and sign ...
includes ''ptp.class''.


Version 1.1

PTP v1.1 (ISO15740:2008) is an update to PTP published by ISO. This updated version of PTP is fully backward-compatible with PTP v1.0, and offers optional performance, compatibility, and feature enhancements including: * A mechanism for handling streaming content * A mechanism to support multiple vendor extension sets * Support for objects larger than the 4GiB size limit set by PTP v1.0, by requiring 64 bits (8 bytes) for object size * Support for retrieval of ''ObjectHandles'' in enumerated chunks. This may reduce long response times for some devices that possess large numbers of objects * Support for arbitrary resizing prior to image transmission (responder scaling). In PTP v1.0, image sizes might be requested in full-resolution or thumbnail size only * Support for arrays of datasets. This can be used to reduce the number of required transactions necessary for device characterization from being a function of the number of objects on the device down to one * A fast file characterization operation that exploits dataset arrays to request, in a single transaction, only the minimum data required to characterize a typical filesystem * A new standard ''ObjectFormatCode'' to support the Digital Negative (DNG) file format


Drawbacks

* Renaming file objects directly is not possible without copying or rewriting them * Modification of file contents is not supported (the file needs to be re-transferred completely) * Some drawbacks are OS-specific — see


See also

*
Design rule for Camera File system Design rule for Camera File system (DCF) is a JEITA specification (number CP-3461) which defines a file system for digital cameras, including the directory structure, file naming method, character set, file format, and metadata format. It is cu ...
* PictBridge


References

{{reflist


External links


PTP transport over USB specifications
USB.org.
Microsoft and FotoNation Team to Support the Media Transfer Protocol For Wireless Digital Still Cameras
Microsoft News Center.
Free software with PTP support
Digital photography Network protocols